<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFrameworks>$(NetCoreAppCurrent)-windows;$(NetCoreAppCurrent)-unix;$(NetCoreAppCurrent)</TargetFrameworks>
    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
    <!-- SYSLIB0014: WebRequest, HttpWebRequest, ServicePoint, and WebClient are obsolete. Use HttpClient instead. -->
    <NoWarn>$(NoWarn);SYSLIB0014</NoWarn>
    <UseCompilerGeneratedDocXmlFile>false</UseCompilerGeneratedDocXmlFile>
  </PropertyGroup>

  <!-- DesignTimeBuild requires all the TargetFramework Derived Properties to not be present in the first property group. -->
  <PropertyGroup>
    <TargetPlatformIdentifier>$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)'))</TargetPlatformIdentifier>
    <GeneratePlatformNotSupportedAssemblyMessage Condition="'$(TargetPlatformIdentifier)' == ''">SR.SystemNetRequests_PlatformNotSupported</GeneratePlatformNotSupportedAssemblyMessage>
    <NoWarn Condition="'$(GeneratePlatformNotSupportedAssemblyMessage)' != ''">$(NoWarn);CS0809</NoWarn>
  </PropertyGroup>

  <ItemGroup Condition="'$(TargetPlatformIdentifier)' != ''">
    <Compile Include="System\Net\AuthenticationManager.cs" />
    <Compile Include="System\Net\Authorization.cs" />
    <Compile Include="System\Net\FileWebRequest.cs" />
    <Compile Include="System\Net\FileWebResponse.cs" />
    <Compile Include="System\Net\GlobalProxySelection.cs" />
    <Compile Include="System\Net\HttpRequestHeader.cs" />
    <Compile Include="System\Net\HttpWebRequest.cs" />
    <Compile Include="System\Net\HttpWebResponse.cs" />
    <Compile Include="System\Net\IAuthenticationModule.cs" />
    <Compile Include="System\Net\ICredentialPolicy.cs" />
    <Compile Include="System\Net\IWebRequestCreate.cs" />
    <Compile Include="System\Net\ProtocolViolationException.cs" />
    <Compile Include="System\Net\RequestStream.cs" />
    <Compile Include="System\Net\RequestBufferingStream.cs" />
    <Compile Include="System\Net\TaskExtensions.cs" />
    <Compile Include="System\Net\WebException.cs" />
    <Compile Include="System\Net\WebExceptionStatus.cs" />
    <Compile Include="System\Net\WebHeaderCollection.cs" />
    <Compile Include="System\Net\WebRequest.cs" />
    <Compile Include="System\Net\WebRequestMethods.cs" />
    <Compile Include="System\Net\WebResponse.cs" />
    <Compile Include="System\Net\ExceptionHelper.cs" />
    <Compile Include="System\Net\FtpStatusCode.cs" />
    <Compile Include="System\Net\FtpWebRequest.cs" />
    <Compile Include="System\Net\FtpWebResponse.cs" />
    <Compile Include="System\Net\TriState.cs" />
    <Compile Include="System\Net\CommandStream.cs" />
    <Compile Include="System\Net\FtpControlStream.cs" />
    <Compile Include="System\Net\FtpDataStream.cs" />
    <Compile Include="System\Net\ICloseEx.cs" />
    <Compile Include="System\Net\NetRes.cs" />
    <Compile Include="System\Net\NetworkStreamWrapper.cs" />
    <Compile Include="System\Net\TimerThread.cs" />
    <Compile Include="System\Net\RequestStreamContent.cs" />
    <Compile Include="System\Net\Cache\HttpCacheAgeControl.cs" />
    <Compile Include="System\Net\Cache\HttpRequestCacheLevel.cs" />
    <Compile Include="System\Net\Cache\HttpRequestCachePolicy.cs" />
    <Compile Include="System\Net\NetEventSource.Requests.cs" />
    <Compile Include="System\Net\ServicePoint\BindIPEndPoint.cs" />
    <Compile Include="System\Net\ServicePoint\SecurityProtocolType.cs" />
    <Compile Include="System\Net\ServicePoint\ServicePoint.cs" />
    <Compile Include="System\Net\ServicePoint\ServicePointManager.cs" />
    <Compile Include="System\Net\ServicePoint\TcpKeepAlive.cs" />
    <Compile Include="$(CommonPath)System\Obsoletions.cs"
             Link="Common\System\Obsoletions.cs" />
    <Compile Include="$(CommonPath)System\Net\Http\HttpHandlerDefaults.cs"
             Link="Common\System\Net\Http\HttpHandlerDefaults.cs" />
    <Compile Include="$(CommonPath)System\Net\InternalException.cs"
             Link="Common\System\Net\InternalException.cs" />
    <Compile Include="$(CommonPath)System\Net\Logging\NetEventSource.Common.cs"
             Link="Common\System\Net\Logging\NetEventSource.Common.cs" />
    <Compile Include="$(CommonPath)System\Net\Logging\NetEventSource.Common.Associate.cs"
             Link="Common\System\Net\Logging\NetEventSource.Common.Associate.cs" />
    <Compile Include="$(CommonPath)System\Net\HttpDateParser.cs"
             Link="Common\System\Net\HttpDateParser.cs" />
    <Compile Include="$(CommonPath)System\Net\HttpKnownHeaderNames.cs"
             Link="Common\System\Net\HttpKnownHeaderNames.cs" />
    <Compile Include="$(CommonPath)System\Net\HttpValidationHelpers.cs"
             Link="Common\System\Net\HttpValidationHelpers.cs" />
    <Compile Include="$(CommonPath)System\Net\LazyAsyncResult.cs"
             Link="Common\System\Net\LazyAsyncResult.cs" />
    <Compile Include="$(CommonPath)System\Net\ContextAwareResult.cs"
             Link="Common\System\Net\ContextAwareResult.cs" />
    <Compile Include="$(CommonPath)System\Net\ExceptionCheck.cs"
             Link="Common\System\Net\ExceptionCheck.cs" />
    <Compile Include="$(CommonPath)System\Net\TlsStream.cs"
             Link="Common\System\Net\TlsStream.cs" />
    <Compile Include="$(CommonPath)System\Net\SecurityProtocol.cs"
             Link="Common\System\Net\SecurityProtocol.cs" />
    <Compile Include="$(CommonPath)System\NotImplemented.cs"
             Link="Common\System\NotImplemented.cs" />
  </ItemGroup>

  <ItemGroup Condition="'$(TargetPlatformIdentifier)' == 'windows'">
    <Compile Include="$(CommonPath)Interop\Windows\WinInet\Interop.wininet_errors.cs"
             Link="Common\Interop\Windows\WinInet\Interop.wininet_errors.cs" />
    <Compile Include="$(CommonPath)System\Net\ContextAwareResult.Windows.cs"
             Link="Common\System\Net\ContextAwareResult.Windows.cs" />
    <Compile Include="System\Net\WebExceptionPal.Windows.cs" />
  </ItemGroup>

  <ItemGroup Condition="'$(TargetPlatformIdentifier)' == 'unix'">
    <Compile Include="$(CommonPath)System\Net\ContextAwareResult.Unix.cs"
             Link="Common\System\Net\ContextAwareResult.Unix.cs" />
    <Compile Include="System\Net\WebExceptionPal.Unix.cs" />
  </ItemGroup>

  <ItemGroup>
    <Reference Include="Microsoft.Win32.Primitives" />
    <Reference Include="System.Collections" />
    <Reference Include="System.Collections.Concurrent" />
    <Reference Include="System.Collections.NonGeneric" />
    <Reference Include="System.Collections.Specialized" />
    <Reference Include="System.Diagnostics.Tracing" />
    <Reference Include="System.Memory" />
    <Reference Include="System.Net.Http" />
    <Reference Include="System.Net.NameResolution" />
    <Reference Include="System.Net.Primitives" />
    <Reference Include="System.Net.Security" />
    <Reference Include="System.Net.Sockets" />
    <Reference Include="System.Net.WebHeaderCollection" />
    <Reference Include="System.Runtime" />
    <Reference Include="System.Runtime.InteropServices" />
    <Reference Include="System.Security.Claims" />
    <Reference Include="System.Security.Cryptography" />
    <Reference Include="System.Security.Principal.Windows" />
    <Reference Include="System.Threading" />
    <Reference Include="System.Threading.Thread" />
  </ItemGroup>

</Project>
